{{tag>scanner graphisme ocr}}

----

====== xsane2tess : un adaptateur tesseract pour Xsane ======

**xsane2tess** est un adaptateur permettant d'utiliser le moteur de reconnaissance optique de caractères [[:tesseract-ocr|tesseract]]  avec l'interface graphique [[:Xsane]]. Xsane2tess a été proposé par MadMax sur le forum [[http://www.mandrivauser.de/viewtopic.php?pid=166894#p166894|MandrivaUser.de]].


===== Pré-requis =====

Pour utiliser xsane2tess, il faut installer [[:tesseract-ocr|tesseract]] avec les modules de langue que l'on souhaite pouvoir utiliser.

Il est nécessaire [[:tutoriel:comment_installer_un_paquet|d'installer les paquets]] **[[apt>xsane, imagemagick|Xsane et imagemagick]]**.

===== Installation =====
Suivez la procédure suivante:
  - [[:tutoriel:comment_modifier_un_fichier|Créez le fichier]] **xsane2tess** par exemple sur votre Bureau et copiez-y le contenu suivant:
<file txt xsane2tess>#!/bin/bash
  #
  #
  ##############################################################################
  #
  #                                   xsane2tess 1.0
  #
  #                          *** tesseract made simple ***
  #
  #
  ##############################################################################
  # 
  # xsane2tess is a TesseractOCR wrapper to be able to use tesseract with xsane
  #
  #
  #
  TEMP_DIR=/tmp/      # folder for temporary files (TIFF & tesseract data)
  ERRORLOG="xsane2tess.log"  # file where STDERR goes 
  
  if [[ -z "$1"  ]]
    then
    echo "Usage: $0 [OPTIONS]
  
    xsane2tess converts files to TIF, scans them with TesseractOCR
    and outputs the text in a file.
  
    OPTIONS:
      -i <file1>  define input file (any image-format supported)
      -o <file2>  define output-file (*.txt)
      -l <lang>  define language-data tesseract should use
  
    Progress- & error-messages will be stored in this logfile:
       $TEMP_DIR$ERRORLOG
  
    xsane2tess depends on
      - ImageMagick  http://www.imagemagick.org/
      - TesseractOCR http://code.google.com/p/tesseract-ocr/
  
    Some coding was stolen from 'ocube'
    http://www.geocities.com/thierryguy/ocube.html
  "
    exit
  fi
  
  
  # get options...
  while getopts ":i:o:l:" OPTION
    do
    case $OPTION in 
      i)  # input filename (with path)
        FILE_PATH="$OPTARG"
      ;;
      o )  # output filename
        FILE_OUT="$OPTARG"
      ;;
      l )  # Language-selection
        TES_LANG="$OPTARG"
      ;;
    esac
  done
  
  # redirect STDOUT to FILE_OUT
  exec 1>>$FILE_OUT
  
  # redirect STDERR to ERRORLOG
  exec 2>>$TEMP_DIR$ERRORLOG
  
  # strip path from FILE_PATH, use filename only
  IN_FILE=${FILE_PATH##*/}
  
  TIF_FILE="$TEMP_DIR""${IN_FILE%.*}".tif
  TXT_FILE="$TEMP_DIR""${IN_FILE%.*}"
  
  # converting image into TIFF (ImageMagick)
  convert "$FILE_PATH" -compress none  "$TIF_FILE" 1>&2
  
  # start OCR (tesseract expands output with *.txt)
  tesseract "$TIF_FILE" "$TXT_FILE" -l "$TES_LANG" 1>&2
  
  # STDOUT scanned text => FILE_OUT
  cat "$TXT_FILE".txt
  
  # delete graphic file after use
  rm "$TIF_FILE"
  
  # delete tesseract output
  rm "$TXT_FILE".txt</file>
  - [[:tutoriel:script_shell#methode_graphique|Rendez exécutable]] le fichier //xsane2tess//,
  - Copiez le fichier xsane2tess dans ///usr/bin//, en admettant que vous l'avez enregistré sur votre Bureau, sinon adapter le chemin:
<code>sudo cp Bureau/xsane2tess /usr/bin</code>
Vous pourrez ensuite consulter le fichier //xsane2tess.log// pour observer les éventuelles erreurs dans le dossier //tmp//.


===== Utilisation =====

Dans votre [[:unity#dash|tableau de bord Unity]] entrer le mot clé "Xsane".\\
Puis Préférences -> Configuration -> Onglet "OCR" entrez les informations suivantes en respectant bien la casse :
  * **Commande OCR** : xsane2tess -l fra 
  * **Option de fichier d'entrée** : -i
  * **Option de fichier de sortie** : -o

La langue du texte à numériser peut être modifiée quand on le veut dans le menu de configuration de XSane [[:tesseract-ocr#les_options_de_langues|(l'option-l)]], à condition d'avoir installé les fichiers de langues correspondants de tesseract, comme indiqué dans le paragraphe [[#Pré-requis]].\\
XSane présente le grand avantage de permettre la sélection des colonnes ou zones d'un texte l'une après l'autre grâce à la prévisualisation, et donc  avant traitement ROC par tesseract.

On obtient de bons résultats en numérisant à 300 ppi, noir et blanc (fichier  "type : TEXT").
Pour plus de précisions, voir le paragraphe sur [[:ocr#xsane|la ROC avec XSane]].

Il suffit ensuite de copier-coller les fichiers obtenus dans un fichier LibreOffice Writer, et la reconnaissance orthographique fait le reste...

===== Références =====

  * [[http://www.mandrivauser.de/viewtopic.php?pid=166894#p166894| Le post de MadMax sur xsane2tess]] (de)
  * [[:tesseract-ocr]] (fr)
  * [[:Xsane]] (fr)
  * [[http://www.equinoxefr.org/post/2008/07/05/xsane-et-tesseract-locr-qui-marche-tres-bien-sous-linux/ | Une solution qui fonctionne : xsane2tess ...]] (fr)
  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=78804| Le fil de discussion du forum Ubuntu-fr dédié à la Reconnaissance Optique de Caractères.]] (fr)
 
------

//Contributeurs : [[utilisateurs:Sorbus]], [[utilisateurs:l_Africain|L'Africain]] //
